\section{Ficheros de configuraci\'on}
Para poder crear definiciones de etiquetas personalizadas y para guardar las mismas, se utiliza el formato de archivo XML ({\em Extensible Markup Language}). Este, es un lenguaje que se basa en la definici\'on de TAGs llamados etiquetas, que contienen a su vez atributos que la concretan. Se utiliza dicho lenguaje debido a que es multiplataforma, muy facil de autogenerar y ademas, {\em Processing} incluye la implementaci\'on de un {\em parser} que usamos para leer ficheros XML con facilidad.
En las siguientes subsecciones se muestra la estructura de los dos ficheros de configuraci\'on utilizados en {\em Label Pro}: tree.xml ( contenedor de etiquetas ) y tools.xml ( contenedor de herramientas ).


\section{tree.xml}
El fichero contenedor de las etiquetas de cada imagen de un directorio, viene definido por una cascada de etiquetas en forma de arbol mediante las cuales, podemos identificar perfectamente donde est\'an posicionadas las etiquetas de cada im\'agen.
Como TAG principal hayamos el que contiene todas y cada una de las imagenes del directorio: la etiqueta {\em Images}. Dentro de ella hayamos, para cada una de las imagenes, una etiqueta {\em img} con el atributo {\em src} que define el nombre de la imagen en questi\'on. Por \'ultimo, dentro de la etiqueta {\em img} encontramos un seguido de TAGs que hacen referencia a cada una de las etiquetas que el usuario insert\'o en dicha imagen.
\begin{table}
\centering
\begin{tabular}{|l | c | r|}
\hline
Nombre & Atributos & Contenido \\
\hline
Square & name,x,y,width,height &\\
\hline
Circle & name,x,y,radio & \\
\hline

Line & x,y & \\
\hline
Poligon & name & Line\\
\hline
PointSec & name & Point\\
\hline
Point & name,x,y & \\
\hline
\end{tabular}
\caption{Fichero contenedor de etiquetas}
\end{table}
\bigskip

\pagebreak

Como se muestra en la tabla 2.1, cada etiqueta viene definida por un TAG diferente, tiene unos atributos opcionales y puede o no contener otro TAG de etiqueta dentro de \'el. Por ejemplo, un cuadrado lo definimos con la posici\'on x e y de la esquina superior izquierda del mismo e indicando a su vez el ancho y el alto. Sin embargo, un pol\'igono lo debemos definir como un conjunto de lineas que van entre dos puntos. A continuaci\'on se muestra un ejemplo de fichero contenedor de etiquetas:

\begin{verbatim}
<?xml version="1.0" encoding="ISO-8859-1"?>
<Images>
	 <img src=".svn">
	</img>
	 <img src="3678229431_7bb1663149.jpg">
		<Poligon name="poligon">
			<Line x="68" y="79" />
			<Line x="70" y="122" />
			<Line x="113" y="217" />
			<Line x="177" y="132" />
		</Poligon>
	</img>
	 <img src="3678231559_b962fda24c.jpg">
	</img>
	 <img src="3678237133_4b473afeeb.jpg">
	</img>
	 <img src="3678237751_e6e269e085.jpg">
	</img>
	 <img src="3678239531_2278de0a24.jpg">
		<Circle name="circle" x="153" y="116" radio="62.0" />
		<Circle name="circle" x="171" y="247" radio="40.0" />
	</img>
</Images>
\end{verbatim}

\section{tools.xml}

En el fichero contenedor de herramientas, todo el \'arbol de etiquetas que define la estructura de las mismas que tendr\'a nuestro programa, viene precedido por la etiqueta {\em Tools}, dentro de la cual ,encontramos cada una de los tipos posibles de herramientas que un usuario puede definir.
\begin{table}
\centering
\begin{tabular}{|l | r|}
\hline
Nombre & Atributos\\
\hline
Square & name,width,height \\
\hline
Circle & name,radio \\
\hline
Poligon & name,sides\\
\hline
PointSec & name,points\\
\hline
Point & name\\
\hline
\end{tabular}
\caption{Fichero contenedor de herramientas}
\end{table}
\bigskip

Como se puede observar en la tabla 2.2, cada etiqueta tiene una serie de atributos. Con estos podemos definir ciertas restricciones a la hora de poder crear en tiempo de ejecuci\'on las diferentes etiquetas. A continuaci\'on se muestra un ejemplo de fichero contenedor de herramientas:
\begin{verbatim}

<tools>
	<Square name="face" width="30"/>
	<Circle name="eye" radio="1"/>
	<Poligon name="body" sides="4"/>
	<PointSec name="ragdoll" points="5"/>
</tools>

\end{verbatim}